﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CES_Application.Helpers
{
    public static class HelprsClass
    {
        #region FormatacaoMoedaTextBox

        static string str = "";
        public static void FormataMoeda(object sender, KeyEventArgs e, TextBox textBox1)
        {

            int KeyCode = e.KeyValue;

            if (!IsNumeric(KeyCode))
            {
                e.Handled = true;
                return;
            }
            else
            {
                e.Handled = true;
            }
            if (((KeyCode == 8) || (KeyCode == 46)) && (str.Length > 0))
            {
                str = str.Substring(0, str.Length - 1);
            }
            else if (!((KeyCode == 8) || (KeyCode == 46)))
            {
                str = str + Convert.ToChar(KeyCode);
            }
            if (str.Length == 0)
            {
                textBox1.Text = "";
            }
            if (str.Length == 1)
            {
                textBox1.Text = "0,0" + str;
            }
            else if (str.Length == 2)
            {
                textBox1.Text = "0," + str;
            }
            else if (str.Length > 2)
            {
                textBox1.Text = str.Substring(0, str.Length - 2) + "," +
                                str.Substring(str.Length - 2);
            }
            
        }

        public static bool IsNumeric(int Val)
        {
            return ((Val >= 48 && Val <= 57) || (Val == 8) || (Val == 46));
        }
        #endregion

        public static void NumeroCom2CasasDecimais(TextBox textBox)
        {
            try
            {
                decimal numero = decimal.Parse(textBox.Text);
                textBox.Text = numero.ToString("N2");
            }
            catch (Exception)
            {
                textBox.Focus();
                textBox.Text = "0,00";
                //throw new UtilException("O valor digitado não é um número válido.");
            }
        }

        public static void NumeroCom3CasasDecimais(TextBox textBox)
        {
            try
            {
                decimal numero = decimal.Parse(textBox.Text);
                textBox.Text = numero.ToString("N3");
            }
            catch (Exception)
            {
                textBox.Focus();
               // throw new UtilException("O valor digitado não é um número válido.");
            }
        }




    }
}
